package com.zang.array;

/**
 * @Author: ZVerify
 * @Description: https://leetcode.cn/problems/move-zeroes/
 * @DateTime: 2022/10/1 19:47
 **/
public class 移动零 {
    // 快慢指针解法
    public void moveZeroes(int[] nums) {
        // 初始化慢指针
        int index = 0;

        for (int i = 0; i < nums.length; i++) {
            // 如果当前位置的数不等于0那么就将快指针的值写到慢指针的位置，然后将慢指针同步移动
            if (nums[i] != 0) {

                nums[index] = nums[i];
                index++;
            }
        }
        // 当for循环结束的时候我们慢指针所在的位置的位置前边就是所有不为0的值了，接下来我们只需要将后边所有的值赋值为0就ok
        while (index < nums.length) {

            nums[index++] = 0;
        }
    }
}
